<?php
class CP_CommentController extends XPHP_Controller
{
	/**
	 * Phương thức sẽ thực thi trước khi thực thi sau khi controller được khởi tạo
	 */
	public function _init()
	{
		//Load layout
		$this->loadLayout("Administrator");
		//Xác thực
		$this->helper->auth();
	}
	
	public function indexAction()
	{
		//Lấy ra toàn bộ danh sách comment
		$comment = new Areas_CP_Models_Comment();
		$commentList = $comment->select_all(false, "date_create DESC");
		
		//Lấy ra tên sản phẩm và tên thành viên
		foreach ($commentList as $id => $comm)
		{
			//Tên sản phẩm
			$product = new Areas_CP_Models_Products($comm['productID']);
			$commentList[$id]['productName'] = $product->name;
			
			//Tên đăng nhập thành viên
			$member = new Areas_CP_Models_Users($comm['memberID']);
			$commentList[$id]['memberUsername'] = $member->username;
		}
		
		//Trả về View
		$this->view->commentList = $commentList;
		
		return $this->view();
	}
	
	public function editAction($args)
	{
		$model = new Areas_CP_Models_Comment($args[0]);
		
		return $this->view($model);
	}
	
	/**
	 * [[
	 * model: Areas_CP_Models_Comment
	 * ]]
	 */
	public function editPOST()
	{
		if($this->hasModel())
		{
			if($this->model->isValid())
			{
				$modelUpdate = new Areas_CP_Models_Comment($this->model->id);
				$modelUpdate->content = $this->model->content;
				$modelUpdate->update();
				//Redirect về trang chủ
				return $this->redirect("index");
			}
		}
	}
	
	public function detailAction($args)
	{
		$model = new Areas_CP_Models_Comment($args[0]);
		//Tên sản phẩm
		$product = new Areas_CP_Models_Products($model->productID);
		$model->productID = $product->name;
			
		//Tên đăng nhập thành viên
		$member = new Areas_CP_Models_Users($model->memberID);
		$model->memberID = $member->username;
		
		$this->unloadLayout();
		return $this->view($model);
	}
	
	public function approveAJAX()
	{
		$id = $this->params["id"];
		$status = $this->params["status"];
		//Sửa thông tin comment
		$comment = new Areas_CP_Models_Comment($id);
		$comment->approve = $status;
		$comment->update();
		
		return $this->json(array("success" => true));
	}
	
	public function deleteAJAX()
	{
		$id = $this->params["id"];
		$comment = new Areas_CP_Models_Comment($id);
		$comment->delete();
		return $this->json(array("success" => true));
	}
}